home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / C / Applications / Python 1.3.3 / Python 133 68K / Mac / Demo / scripting / Eudora_Suite.py next >
Text File  |  1996-05-20  |  13KB  |  360 lines

  1. """Suite Eudora Suite: Terms specific to Eudora
  2. Level 1, version 1
  3.  
  4. Generated from Moes:Programma's:Eudora:Eudora Light
  5. AETE/AEUT resource version 2/16, language 0, script 0
  6. """
  7.  
  8.  
  9. import aetools
  10. import MacOS
  11.  
  12. _code = 'CSOm'
  13.  
  14. _Enum_eSta = {
  15.     'unread' : 'euS\001',    # has not been read
  16.     'already_read' : 'euS\002',    # has been read
  17.     'replied' : 'euS\003',    # has been replied to
  18.     'forwarded' : 'euS\010',    # has been forwarded
  19.     'redirected' : 'euS\004',    # has been redirected
  20.     'not_sendable' : 'euS\005',    # cannot be sent
  21.     'sendable' : 'euS\006',    # can be sent
  22.     'queued' : 'euS\007',    # queued for delivery
  23.     'sent' : 'euS\011',    # has been sent
  24.     'never_sent' : 'euS\012',    # never was sent
  25. }
  26.  
  27. _Enum_eSig = {
  28.     'none' : 'sig\000',    # no signature
  29.     'standard' : 'sig\001',    # standard signature file
  30.     'alternate' : 'sig\002',    # alternate signature file
  31. }
  32.  
  33. _Enum_eAty = {
  34.     'AppleDouble' : 'atc\000',    # AppleDouble format
  35.     'AppleSingle' : 'atc\001',    # AppleSingle format
  36.     'BinHex' : 'atc\002',    # BinHex format
  37.     'uuencode' : 'atc\003',    # uuencode format
  38. }
  39.  
  40. _Enum_eNot = {
  41.     'mail_arrives' : 'wArv',    # mail arrival
  42.     'mail_sent' : 'wSnt',    # mail has been sent
  43.     'will_connect' : 'wWCn',    # eudora is about to connect to a mail server
  44.     'has_connected' : 'wHCn',    # eudora has finished talking to a mail server
  45.     'has_manually_filtered' : 'mFil',    # eudora has finished manually filtering messages
  46.     'opens_filters' : 'wFil',    # user has requested Eudora open the filter window
  47. }
  48.  
  49. class Eudora_Suite:
  50.  
  51.     _argmap_connect = {
  52.         'sending' : 'eSen',
  53.         'checking' : 'eChk',
  54.         'waiting' : 'eIdl',
  55.     }
  56.  
  57.     def connect(self, _no_object=None, _attributes={}, **_arguments):
  58.         """connect: Connect to the mail server and transfer mail
  59.         Keyword argument sending: true to make eudora send queued messages
  60.         Keyword argument checking: true to make eudora check for mail
  61.         Keyword argument waiting: true to make eudora wait for idle time before checking
  62.         Keyword argument _attributes: AppleEvent attribute dictionary
  63.         """
  64.         _code = 'CSOm'
  65.         _subcode = 'eCon'
  66.  
  67.         aetools.keysubst(_arguments, self._argmap_connect)
  68.         if _no_object != None: raise TypeError, 'No direct arg expected'
  69.  
  70.  
  71.         _reply, _arguments, _attributes = self.send(_code, _subcode,
  72.                 _arguments, _attributes)
  73.         if _arguments.has_key('errn'):
  74.             raise MacOS.Error, aetools.decodeerror(_arguments)
  75.         # XXXX Optionally decode result
  76.         if _arguments.has_key('----'):
  77.             return _arguments['----']
  78.  
  79.     _argmap_reply = {
  80.         'quoting' : 'eQTx',
  81.         'everyone' : 'eRAl',
  82.         'self' : 'eSlf',
  83.     }
  84.  
  85.     def reply(self, _object, _attributes={}, **_arguments):
  86.         """reply: Reply to a message
  87.         Required argument: the message to reply to
  88.         Keyword argument quoting: true if you want to quote the original text in the reply
  89.         Keyword argument everyone: true if you want the reply to go to everyone who got the original
  90.         Keyword argument self: true if you want the reply to go to yourself, too
  91.         Keyword argument _attributes: AppleEvent attribute dictionary
  92.         Returns: to the reply message
  93.         """
  94.         _code = 'CSOm'
  95.         _subcode = 'eRep'
  96.  
  97.         aetools.keysubst(_arguments, self._argmap_reply)
  98.         _arguments['----'] = _object
  99.  
  100.  
  101.         _reply, _arguments, _attributes = self.send(_code, _subcode,
  102.                 _arguments, _attributes)
  103.         if _arguments.has_key('errn'):
  104.             raise MacOS.Error, aetools.decodeerror(_arguments)
  105.         # XXXX Optionally decode result
  106.         if _arguments.has_key('----'):
  107.             return _arguments['----']
  108.  
  109.     def forward(self, _object, _attributes={}, **_arguments):
  110.         """forward: Forward a message
  111.         Required argument: the message to forward
  112.         Keyword argument _attributes: AppleEvent attribute dictionary
  113.         Returns: to the forwarded message
  114.         """
  115.         _code = 'CSOm'
  116.         _subcode = 'eFwd'
  117.  
  118.         if _arguments: raise TypeError, 'No optional args expected'
  119.         _arguments['----'] = _object
  120.  
  121.  
  122.         _reply, _arguments, _attributes = self.send(_code, _subcode,
  123.                 _arguments, _attributes)
  124.         if _arguments.has_key('errn'):
  125.             raise MacOS.Error, aetools.decodeerror(_arguments)
  126.         # XXXX Optionally decode result
  127.         if _arguments.has_key('----'):
  128.             return _arguments['----']
  129.  
  130.     def redirect(self, _object, _attributes={}, **_arguments):
  131.         """redirect: Redirect a message
  132.         Required argument: the message to redirect
  133.         Keyword argument _attributes: AppleEvent attribute dictionary
  134.         Returns: to the redirected message
  135.         """
  136.         _code = 'CSOm'
  137.         _subcode = 'eRdr'
  138.  
  139.         if _arguments: raise TypeError, 'No optional args expected'
  140.         _arguments['----'] = _object
  141.  
  142.  
  143.         _reply, _arguments, _attributes = self.send(_code, _subcode,
  144.                 _arguments, _attributes)
  145.         if _arguments.has_key('errn'):
  146.             raise MacOS.Error, aetools.decodeerror(_arguments)
  147.         # XXXX Optionally decode result
  148.         if _arguments.has_key('----'):
  149.             return _arguments['----']
  150.  
  151.     def send_again(self, _object, _attributes={}, **_arguments):
  152.         """send again: Send a message again
  153.         Required argument: the message to send again
  154.         Keyword argument _attributes: AppleEvent attribute dictionary
  155.         Returns: to the message sent again
  156.         """
  157.         _code = 'CSOm'
  158.         _subcode = 'eSav'
  159.  
  160.         if _arguments: raise TypeError, 'No optional args expected'
  161.         _arguments['----'] = _object
  162.  
  163.  
  164.         _reply, _arguments, _attributes = self.send(_code, _subcode,
  165.                 _arguments, _attributes)
  166.         if _arguments.has_key('errn'):
  167.             raise MacOS.Error, aetools.decodeerror(_arguments)
  168.         # XXXX Optionally decode result
  169.         if _arguments.has_key('----'):
  170.             return _arguments['----']
  171.  
  172.     _argmap_queue = {
  173.         '_for' : 'eWhn',
  174.     }
  175.  
  176.     def queue(self, _object, _attributes={}, **_arguments):
  177.         """queue: Queue a message to be sent
  178.         Required argument: the message to queue
  179.         Keyword argument _for: date to send the message, in seconds since 1904, UTC
  180.         Keyword argument _attributes: AppleEvent attribute dictionary
  181.         """
  182.         _code = 'CSOm'
  183.         _subcode = 'eQue'
  184.  
  185.         aetools.keysubst(_arguments, self._argmap_queue)
  186.         _arguments['----'] = _object
  187.  
  188.  
  189.         _reply, _arguments, _attributes = self.send(_code, _subcode,
  190.                 _arguments, _attributes)
  191.         if _arguments.has_key('errn'):
  192.             raise MacOS.Error, aetools.decodeerror(_arguments)
  193.         # XXXX Optionally decode result
  194.         if _arguments.has_key('----'):
  195.             return _arguments['----']
  196.  
  197.     def unqueue(self, _object, _attributes={}, **_arguments):
  198.         """unqueue: Remove a message from the queue, so it wonÕt be sent
  199.         Required argument: the message to unqueue
  200.         Keyword argument _attributes: AppleEvent attribute dictionary
  201.         """
  202.         _code = 'CSOm'
  203.         _subcode = 'eUnQ'
  204.  
  205.         if _arguments: raise TypeError, 'No optional args expected'
  206.         _arguments['----'] = _object
  207.  
  208.  
  209.         _reply, _arguments, _attributes = self.send(_code, _subcode,
  210.                 _arguments, _attributes)
  211.         if _arguments.has_key('errn'):
  212.             raise MacOS.Error, aetools.decodeerror(_arguments)
  213.         # XXXX Optionally decode result
  214.         if _arguments.has_key('----'):
  215.             return _arguments['----']
  216.  
  217.     _argmap_attach_to = {
  218.         'documents' : 'eDcl',
  219.     }
  220.  
  221.     def attach_to(self, _object, _attributes={}, **_arguments):
  222.         """attach to: Attach documents to a message
  223.         Required argument: the message to attach the documents to
  224.         Keyword argument documents: list of documents to attach
  225.         Keyword argument _attributes: AppleEvent attribute dictionary
  226.         """
  227.         _code = 'CSOm'
  228.         _subcode = 'eAtc'
  229.  
  230.         aetools.keysubst(_arguments, self._argmap_attach_to)
  231.         _arguments['----'] = _object
  232.  
  233.  
  234.         _reply, _arguments, _attributes = self.send(_code, _subcode,
  235.                 _arguments, _attributes)
  236.         if _arguments.has_key('errn'):
  237.             raise MacOS.Error, aetools.decodeerror(_arguments)
  238.         # XXXX Optionally decode result
  239.         if _arguments.has_key('----'):
  240.             return _arguments['----']
  241.  
  242.     _argmap_start_notifying = {
  243.         'when' : 'eWHp',
  244.     }
  245.  
  246.     def start_notifying(self, _object, _attributes={}, **_arguments):
  247.         """start notifying: Notify an application of things that happen
  248.         Required argument: an application to notify
  249.         Keyword argument when: what to notify the application of
  250.         Keyword argument _attributes: AppleEvent attribute dictionary
  251.         """
  252.         _code = 'CSOm'
  253.         _subcode = 'nIns'
  254.  
  255.         aetools.keysubst(_arguments, self._argmap_start_notifying)
  256.         _arguments['----'] = _object
  257.  
  258.  
  259.         _reply, _arguments, _attributes = self.send(_code, _subcode,
  260.                 _arguments, _attributes)
  261.         if _arguments.has_key('errn'):
  262.             raise MacOS.Error, aetools.decodeerror(_arguments)
  263.         # XXXX Optionally decode result
  264.         if _arguments.has_key('----'):
  265.             return _arguments['----']
  266.  
  267.     _argmap_stop_notifying = {
  268.         'when' : 'eWHp',
  269.     }
  270.  
  271.     def stop_notifying(self, _object, _attributes={}, **_arguments):
  272.         """stop notifying: Stop notifying applications of things that are happening
  273.         Required argument: an application currently being notified
  274.         Keyword argument when: the things no longer to notify it of
  275.         Keyword argument _attributes: AppleEvent attribute dictionary
  276.         """
  277.         _code = 'CSOm'
  278.         _subcode = 'nRem'
  279.  
  280.         aetools.keysubst(_arguments, self._argmap_stop_notifying)
  281.         _arguments['----'] = _object
  282.  
  283.  
  284.         _reply, _arguments, _attributes = self.send(_code, _subcode,
  285.                 _arguments, _attributes)
  286.         if _arguments.has_key('errn'):
  287.             raise MacOS.Error, aetools.decodeerror(_arguments)
  288.         # XXXX Optionally decode result
  289.         if _arguments.has_key('----'):
  290.             return _arguments['----']
  291.  
  292.     _argmap_notice = {
  293.         'occurrence' : 'eWHp',
  294.         'messages' : 'eMLs',
  295.     }
  296.  
  297.     def notice(self, _no_object=None, _attributes={}, **_arguments):
  298.         """notice: Eudora sends this event to notify an application that something happened
  299.         Keyword argument occurrence: what happened
  300.         Keyword argument messages: of the messages involved
  301.         Keyword argument _attributes: AppleEvent attribute dictionary
  302.         """
  303.         _code = 'CSOm'
  304.         _subcode = 'eNot'
  305.  
  306.         aetools.keysubst(_arguments, self._argmap_notice)
  307.         if _no_object != None: raise TypeError, 'No direct arg expected'
  308.  
  309.         aetools.enumsubst(_arguments, 'eWHp', _Enum_eNot)
  310.  
  311.         _reply, _arguments, _attributes = self.send(_code, _subcode,
  312.                 _arguments, _attributes)
  313.         if _arguments.has_key('errn'):
  314.             raise MacOS.Error, aetools.decodeerror(_arguments)
  315.         # XXXX Optionally decode result
  316.         if _arguments.has_key('----'):
  317.             return _arguments['----']
  318.  
  319.  
  320. #    Class 'mail folder' ('euMF') -- 'A folder containing mailboxes or other mail folders.'
  321. #        property 'name' ('pnam') 'itxt' -- 'the name' []
  322. #        element 'euMB' as ['indx', 'name']
  323. #        element 'euMF' as ['indx', 'name']
  324.  
  325. #    Class 'mailbox' ('euMB') -- 'A mailbox.'
  326. #        property 'name' ('pnam') 'itxt' -- 'the name of the mail folder' []
  327. #        property 'space wasted' ('euWS') 'long' -- 'the amount of waste space in the mailbox' []
  328. #        property 'space required' ('euNS') 'long' -- 'the minimum amount of space required to hold the mailbox' []
  329. #        property 'location' ('euFS') 'fss ' -- 'the file the mailbox is stored in' []
  330. #        property 'toc location' ('eTFS') 'fss ' -- 'the file the table of contents is stored in' []
  331. #        element 'euMS' as ['indx']
  332.  
  333. #    Class 'message' ('euMS') -- 'A message'
  334. #        property 'body' ('eBod') 'TEXT' -- 'the body of the message' [mutable]
  335. #        property 'priority' ('euPY') 'long' -- 'the priority' [mutable]
  336. #        property 'label' ('eLbl') 'long' -- 'the index of the label' [mutable]
  337. #        property 'status' ('euST') 'eSta' -- 'the message status' [mutable enum]
  338. #        property 'sender' ('euSe') 'itxt' -- 'the sender as appearing in the message summary' [mutable]
  339. #        property 'date' ('euDa') 'itxt' -- 'the date as appearing in the message summary' []
  340. #        property 'subject' ('euSu') 'itxt' -- 'the subject as appearing in the message summary' [mutable]
  341. #        property 'size' ('euSi') 'long' -- 'the size of the message' []
  342. #        property 'outgoing' ('euOu') 'bool' -- 'is the message is outgoing?' []
  343. #        property 'signature' ('eSig') 'eSig' -- 'which signature the message should have' [mutable enum]
  344. #        property 'QP' ('eMQP') 'bool' -- 'is Eudora allowed to encode text?' [mutable]
  345. #        property 'return receipt' ('eRRR') 'bool' -- 'is a return receipt is requested?' [mutable]
  346. #        property 'wrap' ('eWrp') 'bool' -- 'should the text be wrapped when sent?' [mutable]
  347. #        property 'tab expansion' ('eTab') 'bool' -- 'should tabs get expanded to spaces?' [mutable]
  348. #        property 'keep copy' ('eCpy') 'bool' -- 'should a copy should be kept after message is sent?' [mutable]
  349. #        property 'preserve macintosh info' ('eXTX') 'bool' -- 'should Macintosh information always be sent with attachments?' [mutable]
  350. #        property 'attachment encoding' ('eATy') 'eAty' -- 'the type of encoding to use for attachments' [mutable enum]
  351. #        property 'show all headers' ('eBla') 'bool' -- 'should all headers be visible?' [mutable]
  352. #        property 'transliteration table' ('eTbl') 'long' -- 'the resource id of the transliteration table' [mutable]
  353. #        property 'will be fetched' ('eWFh') 'bool' -- 'will the message be [re]fetched on next check?' [mutable]
  354. #        property 'will be deleted' ('eWDl') 'bool' -- 'will the message be deleted from server on next check?' [mutable]
  355. #        element 'euFd' as ['name']
  356.  
  357. #    Class 'field' ('euFd') -- 'An RFC 822 header field in a message (field named "" is the body)'
  358.  
  359. #    Class 'setting' ('ePrf') -- "Eudora's settings"
  360.